package com.yidu.exception;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;

/**
 * 类的描述-- 文件上传 异常类
 * @author 楠竹
 * @date 2018年7月17日
 * @version 1.0
 */
public class ExceptionHandler implements HandlerExceptionResolver {

	Logger logger = Logger.getLogger(ExceptionHandler.class);
	/**
	 * 处理上传文件大小超过限制抛出的异常
	 */
	@Override
	public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
			Exception ex) { 
		ModelAndView mv = new ModelAndView();
		//判断异常类型，用来跳转不同页面
		if(ex instanceof MaxUploadSizeExceededException){

			logger.info("进入文件上传异常处理...");
			//指定错误信息
			mv.addObject("errorMessage", "上传文件过大");
			//指定跳转页面
			mv.setViewName("error");
			
			return mv;
		}
		
		/*if(ex instanceof NullPointerException ){
			logger.info("进入空指针异常异常...");
			//指定错误信息
			mv.addObject("errorMessage","数据为空");
			//指定页面
			mv.setViewName("error");
			return mv;
		}
		*/
		return null;
	}

	
}
